file chooser portal: use request path utilities
authorMatthias Clasen <mclasen@redhat.com>
Thu, 30 Aug 2018 17:13:45 +0000 (13:13 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 31 Aug 2018 02:53:36 +0000 (22:53 -0400)
Less code duplication, more sticky toffee!

gtk/gtkfilechoosernativeportal.c

index aaaa13a8ebff576cc0fce9ab2bc1baf2ab71663d..4073bb08147940420d45e9d3d90951e8fe99585b 100644 (file)
@@ -296,23 +296,13 @@ show_portal_file_chooser (GtkFileChooserNative *self,
   gboolean multiple;
   const char *title;
   char *token;
-  char *sender;
-  int i;
 
   message = g_dbus_message_new_method_call (PORTAL_BUS_NAME,
                                             PORTAL_OBJECT_PATH,
                                             PORTAL_FILECHOOSER_INTERFACE,
                                             data->method_name);
 
-  token = g_strdup_printf ("gtk%d", g_random_int_range (0, G_MAXINT));
-  sender = g_strdup (g_dbus_connection_get_unique_name (data->connection) + 1);
-  for (i = 0; sender[i]; i++)
-    if (sender[i] == '.')
-      sender[i] = '_';
-
-  data->portal_handle = g_strconcat (PORTAL_OBJECT_PATH "/request/", sender, "/", token, NULL);
-  g_free (sender);
-
+  data->portal_handle = gtk_get_portal_request_path (data->connection, &token);
   data->portal_response_signal_id =
         g_dbus_connection_signal_subscribe (data->connection,
                                             PORTAL_BUS_NAME,